<?php
abstract class Notify{
    #定义接口
       ####定义的接口必须在子类中实现
    abstract protected function msgDo();

    public function message(){
        return 'notify message';
    }

    #禁止重写方法 使用final关键字
    public final function messageSend(){
        return '禁止重写';
    }

}



class User extends Notify{

    public function message()
    {
        return parent::message();
    }

    public function msgDo()
    {
        return '定义的接口在子类中必须实现';
        // TODO: Implement msgDo() method.
    }
}

echo (new User())->msgDo();

